package br.padroes.observer;

import java.util.List;

import br.padroes.jdbc.dao.TitulosDAO;
import br.padroes.jdbc.modelo.Titulos;

/*
 * Classe QuantGenero Destina-se a realizar o cálculo de quantos livros
 * de cada gênero existem de uma dtermiada editora no banco de dados
 */

public class QuantGenero {

	private final int FIC_CIEN = 0;
	private final int ROMANCE = 1;
	private final int LIVRO_TEC = 2;

	TitulosDAO dao = new TitulosDAO();

	List<Titulos> titulos = dao.getLista();

	public int[] quantCia() {

		int[] cont = new int[3];

		for (Titulos titulo : titulos) {

			if (titulo.getEditora().equalsIgnoreCase("Cia. Das Letras")) {
				if (titulo.getGenero().equalsIgnoreCase("Romance")) {
					++cont[ROMANCE];
				} else if (titulo.getGenero().equalsIgnoreCase(
						"Ficcao Cientifica")) {
					++cont[FIC_CIEN];
				} else if (titulo.getGenero().equalsIgnoreCase("Livro Tecnico")) {
					++cont[LIVRO_TEC];
				}
			}
		}
		return cont;
	}

	public int[] quantAlta() {

		int[] cont = new int[3];

		for (Titulos titulo : titulos) {

			if (titulo.getEditora().equalsIgnoreCase("Alta Books")) {
				if (titulo.getGenero().equalsIgnoreCase("Romance")) {
					++cont[ROMANCE];
				} else if (titulo.getGenero().equalsIgnoreCase(
						"Ficcao Cientifica")) {
					++cont[FIC_CIEN];
				} else if (titulo.getGenero().equalsIgnoreCase("Livro Tecnico")) {
					++cont[LIVRO_TEC];
				}
			}
		}
		return cont;
	}

	public int[] QuantPrin() {

		int[] cont = new int[3];

		for (Titulos titulo : titulos) {

			if (titulo.getEditora().equalsIgnoreCase("Prentice Hall")) {
				if (titulo.getGenero().equalsIgnoreCase("Romance")) {
					++cont[ROMANCE];
				} else if (titulo.getGenero().equalsIgnoreCase(
						"Ficcao Cientifica")) {
					++cont[FIC_CIEN];
				} else if (titulo.getGenero().equalsIgnoreCase("Livro Tecnico")) {
					++cont[LIVRO_TEC];
				}
			}
		}
		return cont;
	}
}